package iot.wlink.network.devices.enums;

import iot.wlink.network.devices.manager.AbstractDeviceManager;
import iot.wlink.network.protocols.mqtt.MqttDeviceManager;
import iot.wlink.utils.BeanUtil;

/**
 * @author : willian fu
 * @date : 2021/8/20
 * 协议枚举
 */
public enum ProtocolsTypeEm {

    MQTT(){
        @Override
        public AbstractDeviceManager getDeviceManager() {
            return BeanUtil.getBean(MqttDeviceManager.class);
        }
    },

    COAP(){
        @Override
        public AbstractDeviceManager getDeviceManager() {
            return null;
        }
    },

    HTTP(){
        @Override
        public AbstractDeviceManager getDeviceManager() {
            return null;
        }
    },

    MODBUS(){
        @Override
        public AbstractDeviceManager getDeviceManager() {
            return null;
        }
    },

    TCP(){
        @Override
        public AbstractDeviceManager getDeviceManager() {
            return null;
        }
    },

    WS(){
        @Override
        public AbstractDeviceManager getDeviceManager() {
            return null;
        }
    };

    public abstract AbstractDeviceManager getDeviceManager();
}
